package com.example.operator;

/**
 * 目标：掌握自增自减运算符的使用
 */
public class OperatorDemo2 {
    public static void main(String[] args) {
        // 注意：++和--如果是单独使用,放在前面还是后面效果都是一样的,如果不是单独使用,此时就需要考虑是前++还是后++
        int a = 10;
        // a++; // a = a + 1
        ++a;
        System.out.println(a);

        // a--; // a = a - 1
        --a;
        System.out.println(a);

        // System.out.println(2++); // 注意：自增自减只能操作变量不能操作字面量的,会报错！

        System.out.println("-------------------------------------------------");

        // 前++和后++区别
        // 前++：先加再用 后++：先用后加
        int i = 10;
        int rs = ++i; // 先加后用
        System.out.println(rs); // 11
        System.out.println(i); // 11

        int j = 10;
        int rs2 = j++; // 先用后加
        System.out.println(rs2); // 10
        System.out.println(j); // 11

        System.out.println("-------------------------------------------------");
        // 练习1
        int m = 5;
        int n = 3;
        // m 5 6 5 4
        // n 3 4 3
        //            6  -  5  + 5   - 4   + 4  + 3
        int result = ++m - --m + m-- - ++n + n-- + 3;
        // 最后的结果
        System.out.println(result); // 9
        System.out.println(m); // 4
        System.out.println(n); // 3

        System.out.println("-------------------------------------------------");
        // 练习2
        int c = 10;
        int d = 5;
        // 10 11 12 11
        // 5 4 5
        //        10  +  12 -  4  -  5  + 1 + 12
        int rs3 = c++ + ++c - --d - ++d + 1 + c--;
        // 最后的结果
        System.out.println(rs3);// 26
        System.out.println(c); // 11
        System.out.println(d); // 5
    }
}
